

/* this ALWAYS GENERATED file contains the definitions for the interfaces */


 /* File created by MIDL compiler version 8.01.0622 */
/* at Tue Jan 19 11:14:07 2038
 */
/* Compiler settings for COM.idl:
    Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 8.01.0622 
    protocol : dce , ms_ext, c_ext, robust
    error checks: allocation ref bounds_check enum stub_data 
    VC __declspec() decoration level: 
         __declspec(uuid()), __declspec(selectany), __declspec(novtable)
         DECLSPEC_UUID(), MIDL_INTERFACE()
*/
/* @@MIDL_FILE_HEADING(  ) */



/* verify that the <rpcndr.h> version is high enough to compile this file*/
#ifndef __REQUIRED_RPCNDR_H_VERSION__
#define __REQUIRED_RPCNDR_H_VERSION__ 500
#endif

#include "rpc.h"
#include "rpcndr.h"

#ifndef __RPCNDR_H_VERSION__
#error this stub requires an updated version of <rpcndr.h>
#endif /* __RPCNDR_H_VERSION__ */

#ifndef COM_NO_WINDOWS_H
#include "windows.h"
#include "ole2.h"
#endif /*COM_NO_WINDOWS_H*/

#ifndef __COM_h_h__
#define __COM_h_h__

#if defined(_MSC_VER) && (_MSC_VER >= 1020)
#pragma once
#endif

/* Forward Declarations */ 

#ifndef __IDog_FWD_DEFINED__
#define __IDog_FWD_DEFINED__
typedef interface IDog IDog;

#endif 	/* __IDog_FWD_DEFINED__ */


#ifndef __ICat_FWD_DEFINED__
#define __ICat_FWD_DEFINED__
typedef interface ICat ICat;

#endif 	/* __ICat_FWD_DEFINED__ */


#ifndef __IPig_FWD_DEFINED__
#define __IPig_FWD_DEFINED__
typedef interface IPig IPig;

#endif 	/* __IPig_FWD_DEFINED__ */


#ifndef __ISetName_FWD_DEFINED__
#define __ISetName_FWD_DEFINED__
typedef interface ISetName ISetName;

#endif 	/* __ISetName_FWD_DEFINED__ */


#ifndef __IVariety_FWD_DEFINED__
#define __IVariety_FWD_DEFINED__
typedef interface IVariety IVariety;

#endif 	/* __IVariety_FWD_DEFINED__ */


#ifndef __ANIMALS_FWD_DEFINED__
#define __ANIMALS_FWD_DEFINED__

#ifdef __cplusplus
typedef class ANIMALS ANIMALS;
#else
typedef struct ANIMALS ANIMALS;
#endif /* __cplusplus */

#endif 	/* __ANIMALS_FWD_DEFINED__ */


/* header files for imported files */
#include "unknwn.h"

#ifdef __cplusplus
extern "C"{
#endif 


#ifndef __IDog_INTERFACE_DEFINED__
#define __IDog_INTERFACE_DEFINED__

/* interface IDog */
/* [uuid][object] */ 


EXTERN_C const IID IID_IDog;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("0503702E-B81C-44A5-9BEB-2DFD16E66570")
    IDog : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE Woof( 
            /* [in] */ const unsigned char *lpString) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IDogVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IDog * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IDog * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IDog * This);
        
        HRESULT ( STDMETHODCALLTYPE *Woof )( 
            IDog * This,
            /* [in] */ const unsigned char *lpString);
        
        END_INTERFACE
    } IDogVtbl;

    interface IDog
    {
        CONST_VTBL struct IDogVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IDog_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IDog_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IDog_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IDog_Woof(This,lpString)	\
    ( (This)->lpVtbl -> Woof(This,lpString) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IDog_INTERFACE_DEFINED__ */


#ifndef __ICat_INTERFACE_DEFINED__
#define __ICat_INTERFACE_DEFINED__

/* interface ICat */
/* [uuid][object] */ 


EXTERN_C const IID IID_ICat;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("AB548B2A-3CC6-4DD3-9D2C-79E00C50D3FE")
    ICat : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE Meow( 
            /* [in] */ const unsigned char *lpString) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ICatVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ICat * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ICat * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ICat * This);
        
        HRESULT ( STDMETHODCALLTYPE *Meow )( 
            ICat * This,
            /* [in] */ const unsigned char *lpString);
        
        END_INTERFACE
    } ICatVtbl;

    interface ICat
    {
        CONST_VTBL struct ICatVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ICat_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ICat_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ICat_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ICat_Meow(This,lpString)	\
    ( (This)->lpVtbl -> Meow(This,lpString) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ICat_INTERFACE_DEFINED__ */


#ifndef __IPig_INTERFACE_DEFINED__
#define __IPig_INTERFACE_DEFINED__

/* interface IPig */
/* [uuid][object] */ 


EXTERN_C const IID IID_IPig;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("C0BFD99A-4DB5-4559-8FA2-09B63940FB8A")
    IPig : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE Oink( 
            /* [in] */ const unsigned char *lpString) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IPigVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IPig * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IPig * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IPig * This);
        
        HRESULT ( STDMETHODCALLTYPE *Oink )( 
            IPig * This,
            /* [in] */ const unsigned char *lpString);
        
        END_INTERFACE
    } IPigVtbl;

    interface IPig
    {
        CONST_VTBL struct IPigVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IPig_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IPig_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IPig_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IPig_Oink(This,lpString)	\
    ( (This)->lpVtbl -> Oink(This,lpString) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IPig_INTERFACE_DEFINED__ */


#ifndef __ISetName_INTERFACE_DEFINED__
#define __ISetName_INTERFACE_DEFINED__

/* interface ISetName */
/* [uuid][object] */ 


EXTERN_C const IID IID_ISetName;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("4E6617C8-E082-41C2-8B18-13871EEF1F60")
    ISetName : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE SetName( 
            /* [string][in] */ LPOLESTR lpName) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct ISetNameVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            ISetName * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            ISetName * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            ISetName * This);
        
        HRESULT ( STDMETHODCALLTYPE *SetName )( 
            ISetName * This,
            /* [string][in] */ LPOLESTR lpName);
        
        END_INTERFACE
    } ISetNameVtbl;

    interface ISetName
    {
        CONST_VTBL struct ISetNameVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define ISetName_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define ISetName_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define ISetName_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define ISetName_SetName(This,lpName)	\
    ( (This)->lpVtbl -> SetName(This,lpName) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __ISetName_INTERFACE_DEFINED__ */


#ifndef __IVariety_INTERFACE_DEFINED__
#define __IVariety_INTERFACE_DEFINED__

/* interface IVariety */
/* [uuid][object] */ 


EXTERN_C const IID IID_IVariety;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("E37EC93B-7F91-484F-80B6-2ABE770EA250")
    IVariety : public IUnknown
    {
    public:
        virtual HRESULT STDMETHODCALLTYPE Show( void) = 0;
        
    };
    
    
#else 	/* C style interface */

    typedef struct IVarietyVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IVariety * This,
            /* [in] */ REFIID riid,
            /* [annotation][iid_is][out] */ 
            _COM_Outptr_  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IVariety * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IVariety * This);
        
        HRESULT ( STDMETHODCALLTYPE *Show )( 
            IVariety * This);
        
        END_INTERFACE
    } IVarietyVtbl;

    interface IVariety
    {
        CONST_VTBL struct IVarietyVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IVariety_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IVariety_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IVariety_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IVariety_Show(This)	\
    ( (This)->lpVtbl -> Show(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IVariety_INTERFACE_DEFINED__ */


/* Additional Prototypes for ALL interfaces */

/* end of Additional Prototypes */

#ifdef __cplusplus
}
#endif

#endif


